Some systems contain many devices that are configurable. One type of configurable device is a programmable logic device (PLD). Examples of programmable logic devices include field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), programmable array logic (PAL), and programmable logic arrays (PLAs). As systems are developed with increasing numbers of configurable devices, management of the configuration data for these devices becomes increasingly problematic. Challenges may arise from having different design teams involved in developing the configuration data for a system, as well as from different versions of configuration data created for custom applications and different releases created to improve the system or fix problems.
For a complex system, different design teams may be responsible for developing the design for different functional areas of the system. In some instances, the design teams may be using different servers for data storage, and the directory structure used in managing the configuration data may vary by design team. Thus, the configuration data for a system may be spread across numerous storage domains and not uniformly organized.
Different versions of configuration data generated during the product development cycle and maintenance activities also complicate management of configuration data. One or more devices in a system may have different configuration data from one release to the next. Each new release adds to the number of configuration data files to be managed. Thus, there may be numerous files of configuration data to deal with for a single system.
For maintenance activities, identifying the correct configuration data for a system may also be problematic. In systems made with programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs) or complex programmable logic devices (CPLDs), the same physical hardware components may take on different personalities based on the configuration. Thus, one system may appear to be physically the same as another system, but the configuration of the systems may make them slightly or even very different from one another. Identifying a system and then selecting the correct configuration data may present various challenges to technicians and users.
The present invention may address one or more of the above issues.